An Extensible Interpreter Framework for Software Transactional Memory

نویسندگان

  • Charlotte Herzeel
  • Pascal Costanza
  • Theo D'Hondt
چکیده

Software transactional memory (STM) is a new approach for coordinating concurrent threads, for which many different implementation strategies are currently being researched. In this paper we show that if a language implementation provides reflective access to explicit memory locations, it becomes straightforward to both (a) build an STM framework for this language and (b) to implement STM algorithms using this framework. A proof-of-concept implementation in the form of a Scheme interpreter (written in Common Lisp) is presented.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

DREAM: Dresden Streaming Transactional Memory Benchmark

Transactional memory is a concurrency control mechanism that aims to simplify the development of parallel applications in the times of ever-increasing core counts of multi-processor architectures. At the same time, it must support the application to achieve a high level of performance and scalability to justify it as an alternative to classical lock-based synchronization. These claims still lac...

متن کامل

On the analytical modeling of concurrency control algorithms for Software Transactional Memories: The case of Commit-Time-Locking

We present an analytical performance modeling approach for concurrency control algorithms in the context of Software Transactional Memories (STMs). We consider a realistic execution pattern where each thread alternates the execution of transactional and non-transactional code portions. Our model captures dynamics related to the execution of both (i) transactional read/write memory accesses and ...

متن کامل

Analytical Modelling of Commit-Time-Locking Algorithms for Software Transactional Memories

We present an analytical performance modeling approach for concurrency control algorithms in the context of Software Transactional Memories (STMs). Unlike existing approaches, we consider a realistic execution pattern where each thread alternates the execution of transactional and non-transactional code portions. Also, our model captures dynamics related to the execution of both transactional r...

متن کامل

State transition machines for lambda calculus expressions

The process of compiler generation from lambda-calculus definitions is studied. The compiling schemes developed utilize as their object language the set of state transition machines (STMs): automata-like transition sets using firstorder arguments. An intermediate definition form, the STM-interpreter, is treated as central to the formulation of STMs. Three compiling schemes are presented: one de...

متن کامل

A Framework for Formally Verifying Software Transactional Memory Algorithms

We present a framework for verifying transactional memory (TM) algorithms. Specifications and algorithms are specified using I/O automata, enabling hierarchical proofs that the algorithms implement the specifications. We have used this framework to develop what we believe is the first fully formal machine-checked verification of a practical TM algorithm: the NOrec algorithm of Dalessandro, Spea...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. UCS

دوره 16  شماره 

صفحات  -

تاریخ انتشار 2010